Skip to content

Comments

Include Doxygen Participant page in Algolia search index#743

Open
vagxrth wants to merge 2 commits intoprecice:masterfrom
vagxrth:feat/algolia-doxygen-participant
Open

Include Doxygen Participant page in Algolia search index#743
vagxrth wants to merge 2 commits intoprecice:masterfrom
vagxrth:feat/algolia-doxygen-participant

Conversation

@vagxrth
Copy link

@vagxrth vagxrth commented Feb 22, 2026

Summary

Closes #395

The Doxygen-generated Participant class API reference (/doxygen/main/classprecice_1_1Participant.html) is not discoverable via the website's Algolia search because Doxygen HTML is built separately from Jekyll and never indexed by jekyll algolia.

This PR adds a before_indexing_all hook that parses the Doxygen Participant page and injects its methods into the Algolia index alongside regular Jekyll records.

Changes

  • _plugins/algolia_hooks.rb (new): Parses the Doxygen Participant HTML with Nokogiri, extracts 1 class overview record + 1 record per public method (38 methods, 39 total). Skips gracefully with a warning if Doxygen HTML is not present (e.g. local builds).
  • .github/workflows/update-algolia.yml: Adds steps to checkout precice/precice main, patch the Doxyfile, build Doxygen HTML, and place it at _doxygen_html/main/ before running jekyll algolia.
  • js/algolia-search.js: Handles missing anchor field to prevent URLs ending in #undefined.
  • _config.yml: Excludes _doxygen_html/ from Jekyll processing.
  • .gitignore: Ignores _doxygen_html/ directory.

@MakisH MakisH added GSoC Contributed in the context of the Google Summer of Code technical Technical issues on the website labels Feb 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

GSoC Contributed in the context of the Google Summer of Code technical Technical issues on the website

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Include doxygen Participant page into Algolia search index

2 participants